package com.djl.sqtg.service;

import com.djl.sqtg.entity.*;

import java.util.Date;
import java.util.List;

/** 处理用户数据的业务层接口 */
public interface IUserService {
    Integer register(String username, String avatar, String openid, String registertime);
    User findOpenid(String openid);
    User getByUid(Integer uid);
    List<User> findByUsername(String username);
    Integer delUserByUid(Integer uid);
    Integer delManyUsers(Integer[] uid);

//    List<User> getAllUsers();
    Integer getAllUsers();
    List<User>  getAllUser();
    Integer getAllUsersByTzid(Integer tzid);
//    Integer getUserBySearchCount(List<String>  dateList,String username, String telep);
//    Integer getUserBySearchCount(Date startDate,Date endDate,String username, String telep);

    List<User>  getUserByPageNum(Integer pageNum, Integer pageSize);
    List<User>  getGroupByTzid(Integer pageNum, Integer pageSize, Integer tzid);
//    List<User>  getUserBySearch(List<String>  dateList,String username, String telep,Integer pageNum, Integer pageSize);
//    List<User>  getUserBySearch(Date startDate, Date endDate, String username, String telep, Integer pageNum, Integer pageSize);
    List<User>  getUserBySearchTzid(String username, String telep,Integer pageNum, Integer pageSize,Integer tzid);
    Integer getUserBySearchCountTzid(String username, String telep,Integer tzid);

    Integer getUserBySearchCount(String startDate,String endDate,String username, String telep,Integer memberstate);
    List<User>  getUserBySearch(String startDate,String endDate,String username, String telep,Integer memberstate,Integer pageNum, Integer pageSize);
    Integer userNewAdd(String date);
    Integer userNum();
    Integer memberNum();
    Integer memberNewAdd(String date); //取某日某月某年的会员总数
    Integer userNewAddTimePeriod(String startDate,String endDate); //获取时间段内的用户数
    Integer memberNewAddTimePeriod(String startDate,String endDate); //获取时间段内的会员数
    List<Colonel> getColonelAddress();
    Integer chooeseColonel(Integer uid,Integer tzid);
    //    足迹
    Integer footprint(Integer uid,Integer gid,String browsetime);
    List<Goods> getFootprintByUid(Integer uid);
    //    收藏
    Integer collection(Integer uid,Integer gid,String collectiontime);
    Collection getCollection(Integer uid, Integer gid);
    List<Collection> getAllCollection(Integer uid);
    Integer delCollection(Integer cid);
    Integer delCollectionByUidGid(Integer uid,Integer gid);
    List<Coupon> getCoupon();
    Integer updateTzidNull(Integer uid);

}
